package lang4j.parser.generated;
//meta2 now!

import lang4j.parser.Position;
import lang4j.parser.ParsedEntity;
                              
public class ProductionReference  implements ListElementType,ParsedEntity {

// Attributes
    private TypeProduction production;
    
    Position mStart;
    Position mEnd;

    public ProductionReference(){
    }

    public Position mGetStart(){
        return mStart;
    }
    public Position mGetEnd(){
        return mEnd;
    }

    public void mSetStart(Position start){
        this.mStart=start;
    }

    public void mSetEnd(Position end){
      this.mEnd=end;
    }


// Accessors ******************************************************************

    public TypeProduction getProduction(){
        return production;
    }

    public void setProduction(TypeProduction production){
        this.production=production;
    }


// Acceptors ******************************************************************
    public void accept(ListElementTypeVisitor visitor){
        visitor.visitProductionReference(this);
    }


// Transformers ******************************************************************
    public <T> T transform(ListElementTypeTransformer<T> transformer){
        return transformer.transformProductionReference(this);
    }


// Property based type identification ****************************************

    public boolean isProductionReference(){
        return true;
    }
}